为什么你登录网站需要验证?都怪恶意爬虫太凶猛!
大家不难发现,我们在登录一些网站或者app的时候,在填写完密码以后,还需要填写验证码或者按照指示完成滑动图块完成验证登录,更复杂的还有图片验证。
请点击下图中所有的白百合
年底抢购买火车票的同学一定还记得12306网站那个经典的验证图片“请点击下图中所有的白百合”。那么这种为难人的登录方式到底有什么作用呢?
为什么往网站需要登录验证?
大家会想这这种验证登录跟我又有什么关系呢?而且影响自己的登录效率,有时输错几次还被锁定账号。不知道大家有没有想过以下问题:
为什么抽奖的时候这么多机器人?
为什么一刷新车票就被秒光了?
为什么0元抢手机我总是抢不到?
为什么小说一更新其它盗版网站也更新这么快?
为什么有的评论会有(此条0.5元删除括号里的内容)?
……网络爬虫了解一下!
验证登录的作用是为了拦截恶意网络爬虫:
2、 防止羊毛党滥用滥领取活动福
3、防止大量水军刷赞,刷帖,刷票;
4、防止用户数据,用户内容被爬取;
5、防止商务策略被大量采集聚合。
其实这种验证方式有一个非常高逼格的名称——全自动区分计算机和人类的图灵测试(CAPTCHA,Completely Automated Public Turing Test to tell Computers and Humans Apart)是一种用于区分人与计算机自动程序的挑战应答系统测试。
——摘自百度百科
(图片来源XKCD)
那么网络爬虫在是什么虫?
网络爬虫(又被称为网页蜘蛛,网络机器人,在FOAF社区中间,更经常的称为网页追逐者),是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本。另外一些不常使用的名字还有蚂蚁、自动索引、模拟程序或者蠕虫。
网络爬虫按照系统结构和实现技术,大致可以分为以下几种类型:通用网络爬虫、聚焦网络爬虫、增量式网络爬虫、深层网络爬虫。
——摘自百度百科
不同系统结构的网络爬虫我们今天不做细讲,今天我们简单聊聊怎么去拦截恶意爬虫。从网络爬虫用处来说,我们可以这么去区分:
正常爬虫:以符合Robots协议规范的行为爬取网页,通常会带有xxspider的user-agent标识,并且爬取的请求量不大,有的爬虫获取合法授权可以爬取网络公开接口,或者购买一些接口的授权合法爬取,当然一般都可以看到合法的来源地址。
恶意爬虫:类似于CC攻击,通过分析并自行构造参数对非公开接口进行数据爬取或提交,获取对方本不愿意被爬取的内容数据,造成用户数据泄露,内容侵权,竞争比价,库存查取,黑产SEO, 商业策略外泄,当恶意爬虫发出的请求量达到一定并有可能造成Web服务器宕机,业务中断的风险。
如何拦截恶意爬虫?
除了验证登录我们还可以通过以下方式拦截恶意爬虫:
Robots协议:网站通过Robots协议告诉爬虫哪些可以抓取,哪些不能抓取;
IP黑名单:检测分析恶意爬虫来源IP,然后进行封禁,但是容易误伤;
javascript参与运算:简单的爬虫无法进行js运算,如果部分中间结果需要js引擎对js进行解析和运算,那么就可以让攻击者无法简单进行爬取;
提高发布频率:如果对方两天可以解析你的页面,你就一天一发布,那么你就是安全的,但是发布越频繁,出问题的概率越高;
强化规则引擎:前提需要考察更多用户行为的特征,建立多元化的规则和模型;
Web应用防火墙:通过设置爬虫检测,结合用户的agent和url等关键字段来过滤恶意爬虫请求。
当验证登录都拦截不了恶意爬虫的时候该怎么办?
进化的新型“AI爬虫”
“AI爬虫”它的行为模拟的更接近普通用户,让网站难以分辨人与机器人,甚至还会利用图像识别技术破解网站用作拦截的验证码。
华为云Web应用防火墙防爬防刷
大家可以安装华为云Web应用防火墙,实现对网站业务流量进行多维度检测和防护,结合深度机器学习智能识别恶意请求特征和防御未知威胁,通过JavaScript解析、浏览器指纹、加密验证技术,实现动态防爬虫,有效防止网站数据泄露!
华为云Web应用防火墙:https://www.huaweicloud.com/product/waf.html
- 点赞
- 收藏
- 关注作者
评论(0)